package com.zz.dao;

import com.zz.pojo.Ward;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * Copyright Zz
 * FileName: WardDao
 * Author:   Zz
 * Date:     2023/6/816:09
 * Description:病房表Dao层
 * hISTORY:
 * <author>  <time>     <version>    <desc>
 * 作者姓名   修改时间       版本号       描述
 */
@Mapper
@Repository
public interface WardDao {
    /**
     * 查询指定房价入住情况
     *
     * @param areaCode   区号
     * @param roomNumber 房间号
     * @return 房间入住情况
     */
    Ward queryWardByAreaCode_RoomNumber(@Param("areaCode") String areaCode, @Param("roomNumber") String roomNumber);

    /**
     * 更新房间信息
     *
     * @param ward 传入房间的所有信息
     * @return 更改记录条数
     */
    int updateWard(Ward ward);

    /**
     * 病人出院时更新房间信息(或转移房间)
     *
     * @param areaCode   区号
     * @param roomNumber 房间号
     * @param bedNumber  病人的床号
     * @return 更新记录的条数
     */
    int outWard(@Param("areaCode") String areaCode, @Param("roomNumber") String roomNumber, @Param("bedNumber") String bedNumber);

    /**
     * 查询所有房间的入住情况
     *
     * @return 房间入住信息list
     */
    List<Ward> queryOccupancyInformation();

    /**
     * 查询指定区域的入住信息
     *
     * @param areaCode 区域号
     * @return 指定区域的入住信息
     */
    List<Ward> queryOccupancyInformationByAreaCode(@Param("code") String areaCode);
}
